package com.example.rental_system.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.rental_system.pojo.Admin;
import com.example.rental_system.pojo.User;
import com.example.rental_system.service.AdminService;
import com.example.rental_system.service.UserService;
import com.example.rental_system.utils.ResultUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/register")
public class RegisterController {

    @Autowired
    private UserService userService;
    @Autowired
    private AdminService adminService;
    //用户注册
    @RequestMapping("/toUserRegister")
    public String toUserRegister(){
        System.out.println("前往用户注册界面");
        return "userRegister";
    }
    @RequestMapping("/userRegister")
    public String userRegister(Model model, User user){
        System.out.println("进入用户注册页面");
        //查询是否数据库中存在该用户名
        boolean user1=userService.queryByName(user.getUserName());
        //如果数据库中不存在该数据 则往数据库中保存这个数据 并返回登陆页面
        if (!user1){
            boolean save = userService.save(user);
            model.addAttribute("msg",ResultUtils.SUCCESS);
        }else {
            //如果数据库中存在该数据 则存入失败，并把失败信息带回这个页面
            model.addAttribute("msg",ResultUtils.FAILURE);
        }
        return "userRegister";
    }

    //管理员注册
    @RequestMapping("/toAdminRegister")
    public String toAdminRegister(){
        System.out.println("前往管理员注册界面");
        return "adminRegister";
    }
    @RequestMapping("/adminRegister")
    public String adminRegister(Model model, Admin admin){
        boolean admin1=adminService.queryByName(admin.getAdminName());
        if (!admin1){
            adminService.save(admin);
            model.addAttribute("msg",ResultUtils.SUCCESS);
        }else {
            //如果数据库中存在该数据 则存入失败，并把失败信息带回这个页面
            model.addAttribute("msg",ResultUtils.FAILURE);
        }
        return "adminRegister";
    }

}
